package com.lanxiao.cloud.common.web.invalid;

import com.lanxiao.cloud.common.core.enums.OperationType;
import com.lanxiao.cloud.common.web.service.IContentParse;
import com.lanxiao.cloud.common.web.service.ILog;
import com.lanxiao.cloud.common.web.service.impl.DefaultContentParse;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 系统操作日志注解
 *
 * @author ：qiaoliang
 * @date ：2021-08-19
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Log {

  /**操作类型**/
  OperationType operationType();

  /** 获取编辑信息的解析类，目前为使用id获取，复杂的解析需要自己实现，默认不填写则使用默认解析类 **/
  Class<?> parseClass() default DefaultContentParse.class;

  /** 查询数据库所调用的class文件 **/
  Class<?> serviceClass() default ILog.class;

  // id的类型
  Class<?> idType() default Long.class;

}
